#ifndef __LIT__MOVABLE__TEXT__HH__
#define __LIT__MOVABLE__TEXT__HH__

#include <Newton.h>
#include <Ogre.h>
#include <OgreOverlay.h>
#include "LitPhysicsPrereqs.h"
#include <LitSingleton.hpp>
#include <boost\bind.hpp>
#include <boost\function.hpp>

namespace Lit
{
	namespace Physics
	{
		class LIT_API DebugNodeText 
		{
			static Ogre::Overlay* g_pOverlay;
 
		public: 
			DebugNodeText(const Ogre::MovableObject* p, const Ogre::Camera* c);
			virtual ~DebugNodeText();
			
			// create an overlay that we can use for later
			static Ogre::Overlay* overlayInstance();

			bool isEnabled() const;
			void enable(bool enable);
 
			void setText(const Ogre::String& text) ;
			const Ogre::String& getText() const;

			void update();
 
		protected:
			const Ogre::MovableObject* m_p;
			const Ogre::Camera* m_c;
			bool m_enabled;
			Ogre::OverlayElement* m_pText;
			Ogre::String m_text;
			Ogre::String m_elementName;
			Ogre::String m_elementTextName;
			Ogre::OverlayContainer* m_pContainer;
		};
	};
};

#endif